package com.huage_03;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentOA {
    public static void main(String[] args) {
        ArrayList<Student> array = new ArrayList<>();
        Scanner sc = new Scanner(System.in);

        int flag = 0;//退出循环标志位
        while (flag!=5){
            mainMue();
            flag = sc.nextInt();
            switch (flag){
                case 1:
                    addStudent(array);
                    break;
                case 2:
                    deleteStudent(array);
                    break;
                case 3:
                    setStudent(array);
                    break;
                case 4:
                    showStudent(array);
                    break;
                case 5:
                    break;
                default:
                    System.out.println("选择有误，请检查后重新选择");
            }
        }



    }
    //主菜单
    public static void mainMue(){
        System.out.println("--------欢迎来到学生管理系统---------");
        System.out.println("1.添加学生");
        System.out.println("2.删除学生");
        System.out.println("3.修改学生");
        System.out.println("4.查看所有学生");
        System.out.println("5.退出");
        System.out.println("请输入你的选择:");
    }
    //添加学生
    public static void addStudent(ArrayList<Student> array){
        System.out.println("--------添加学生页面---------");
        //收集数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要添加的学生的姓名:");
        String name = sc.nextLine();
        System.out.println("请输入要添加的学生的年龄:");
        int age = sc.nextInt();

        //录入数据
        Student std = new Student();
        std.setName(name);
        std.setAge(age);
        array.add(std);

        System.out.println("添加成功！");
    }
    //删除学生
    public static void deleteStudent(ArrayList<Student> array){
        System.out.println("--------删除学生页面---------");
        //收集数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除的学生的姓名:");
        String name = sc.nextLine();

        //查找并删除
        for (int i=0;i<array.size();i++){
            Student std = array.get(i);
            if(std.getName().equals(name)){
                array.remove(i);
                System.out.println("删除成功！");
                break;
            }
            if(i==array.size()-1){
                System.out.println("删除失败！");
                System.out.println("未查询到该学生信息");
            }
        }
    }
    //修改学生
    public static void setStudent(ArrayList<Student> array){
        System.out.println("--------修改学生页面---------");
        //收集数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要修改的学生的姓名:");
        String name = sc.nextLine();

        //查找并显示
        for (int i=0;i<array.size();i++){
            Student std = array.get(i);
            if(std.getName().equals(name)){
                System.out.println("该学生已录入的学生信息为:");
                System.out.println("姓名:"+std.getName()+"  年龄:"+std.getAge());
                //修改
                System.out.println("修改学生姓名为:");
                name = sc.nextLine();
                System.out.println("修改学生年龄为:");
                int age = sc.nextInt();
                std.setName(name);
                std.setAge(age);
                array.set(i,std);
                System.out.println("修改成功");
                break;
            }
            if(i==array.size()-1){
                System.out.println("未查询到该学生信息");
            }
        }

    }
    //查看所有学生
    public static void showStudent(ArrayList<Student> array){
        System.out.println("--------所有学生信息页面---------");
        if(array.size()==0){
            System.out.println("无信息，请添加学生信息后再添加");
            return;
        }
        for (int i=0;i<array.size();i++){
            Student std = array.get(i);
            System.out.println("姓名:"+std.getName()+"  年龄:"+std.getAge());
        }
    }
}
